import request from '@/utils/request'

// 新增用户
export function addUser(data) {
  return request({
    url: '/system/user',
    method: 'post',
    data: data
  })
}

// 修改用户
export function updateUser(data) {
  return request({
    url: '/system/user',
    method: 'put',
    data: data
  })
}
// 删除用户
export function delUser(userIds) {
  return request({
    url: `/system/user/${Array.isArray(userIds) ? userIds.join(',') : userIds}`,
    method: 'delete',
  })
}
// export function delUser(user) {
//   return request({
//     url: `/system/user`,
//     method: 'delete',
//     data: user
//   })
// }
// 重置密码
export function resetPwd(data) {
  return request({
    url: '/system/user/resetPwd',
    method: 'put',
    data: data
  })
}
// 状态修改
export function changeUserStatus(data) {
  return request({
    url: '/system/user/changeStatus',
    method: 'put',
    data: data
  })
}
// 用户授权角色
export function authRole(data) {
  return request({
    url: '/system/user/authRole',
    method: 'put',
    data: data
  })
}
// 获取导入模板
export function importUserTemplate() {
  return request({
    url: '/system/user/importTemplate',
    method: 'post',
    responseType: 'blob' // 返回类型为 blob
  })
}
// 导入用户
export function importUser(data) {
  const formData = new FormData()
  // 如果 data 已经是 FormData，直接使用
  if (data instanceof FormData) {
    return request({
      url: '/system/user/importData',
      method: 'post',
      data: data
    })
  }
  // 如果是普通对象，转换为 FormData
  Object.keys(data).forEach(key => {
    formData.append(key, data[key])
  })
  return request({
    url: '/system/user/importData',
    method: 'post',
    data: formData
  })
}
//获取用户列表
export function getUserList(params) {
  return request({
    url: '/system/user/list',
    method: 'get',
    params
  })
}
// 根据用户编号获取授权角色
export function getRoleByUserId(userId) {
  return request({
    url: `/system/user/authRole/${userId}`,
    method: 'get',
  })
}
// 根据用户编号获取用户信息
export function getUserInfoById(userId) {
  return request({
    url: `/system/user/${userId}`,
    method: 'get',
  })
}
// 导入数据的预览
export function importDataPreview(data) {
  const formData = new FormData()
  // 如果 data 已经是 FormData，直接使用
  if (data instanceof FormData) {
    return request({
      url: '/system/user/importDataView',
      method: 'post',
      data: data,
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  }
  // 如果是普通对象，转换为 FormData
  Object.keys(data).forEach(key => {
    formData.append(key, data[key])
  })
  return request({
    url: '/system/user/importDataView',
    method: 'post',
    data: formData
  })
}
// 导入数据
export function importData(data) {
  return request({
    url: '/system/user/importDataList',
    method: 'post',
    data: data
  })
}
// 导出用户列表
export function exportUserList(data) {
  return request({
    url: '/system/user/export',
    method: 'post',
    params: data,
    responseType: 'blob'
  })
}
